iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 4
0

今天要介紹的是 "條件判斷",在程式裡我們必須考慮到各種情形的發生,並定義各種相對應的行為。

中文就是艱深晦澀,這樣看可能大部分人無法理解,我們就用程式碼來說明吧!

fun chargeByAge(age: Int): Int {
  val charge: Int
  if (age < 6) {
    charge = 0
  } else {
    charge = 400
  }
  return charge
}

這是一個餐廳依據年齡來計算須付費多少的 function ,這個 function 需要提供客人的年齡來當作參數,然後會計算出該顧客需付費多少。

既然是依據年齡來決定,所以顧客的年齡即為判斷的條件,而需付費的金額則是其相對應的行為。

Ex1. 小明( 又是小明 )今年五歲,所以此 function 的輸入參數為 5 ,在 if 後面的 () 裡必須為一 Boolean 值,而 age(5) < 6 為真,固會執行 if 區塊裡的程式碼,而當有一條件成立, else 區塊便不會被執行。
該 function 會 return 0。

Ex2. 我們不要在舉小明當例子了,小明他爸今年 35 歲,所以此 function 輸入參數為 35 ,而 age(35) < 6 不為真,固 if 區塊不執行,當 else 以上沒有任何條件成立,則 else 區塊則會被執行。
該 function 會 return 400。

以上是 if..else 的判斷式寫法與判斷邏輯,補充一下,若有多件條件需要有不同的相對應行為,則可以在 if else 中加入 else if 關鍵字,其寫法與 if 相同,需要有一 () 來做條件判斷。


這樣就結束了嗎?

當然不,不免俗的繼續來提一下 Kotlin 的魅力所在 - 簡化程式碼。

當今天對應的行為只有一行程式碼時,{} 可以被省略,直接將對應的行為寫在 if else 之後。

fun chargeByAge(age: Int): Int {
  val charge: Int
  if (age < 6) charge = 0
  else charge = 400
  return charge
}

而在第一天 [Day2] Kotlin 語法-變數 有提到, if else 判斷式可做 expression,所以可以再將程式碼簡化成以下。

fun chargeByAge(age: Int): Int {
  val charge = 
  if (age < 6) 0
  else 400
  return charge
}

看起來 484 又簡潔又舒服呢?!
以上是 if..else 條件判斷,明天再來要介紹另一種條件判斷 when 。



上一篇
[Day 3] Kotlin 語法 - 類別 ( Class )
下一篇
[Day 5] Kotlin 語法 - 條件判斷 (2)
系列文
Android心得筆記×Kotlin語法初探 不是新手村 是嬰兒村30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言